CVATのアノテーションタスクをほかの人と共有する
データアナリティクス事業本部の鈴木です。
以前、画像アノテーションツールのComputer Vision Annotation Tool(以降、CVAT)を紹介しました。
今回はCVAT間でタスクを受け渡しする方法を紹介します。
検証の説明
確認したいこと
CVATでタスクをエクスポートし、受け取り側のCVATでタスクをインポートする方法を確認します。
CVATは以前の記事と同様、ローカルにコンテナを起動する想定です。
データセットやアノテーションデータのみを受領したケースの方法は、以下のブログを参照ください。
やってみる
1. タスクのエクスポート
まず、タスクをエクスポートする方法から確認します。
エクスポートしたいタスクのあるプロジェクトを開きます。
エクスポートしたいタスクを選んで開きます。
Actions
> Export task
を押して、タスクをエクスポートします。
エクスポートすると、zipファイルがダウンロードできます。zipは以下のようなファイルが含まれています。
. ├── annotations.json ├── data │ ├── ColinkySquash.jpg │ ├── Ginkgo.JPG │ ├── index.json │ └── manifest.jsonl └── task.json
annotations.jsonには既に付けられているアノテーションの情報、task.jsonにはタスクの情報、dataにはタスクにアップロードしているデータの情報が含まれています。
2. タスクをインポートする
Tasks
からTasks画面を開き、Import Task
で先ほどエクスポートした(つまり、ほかのメンバーからもらった)zipファイルをインポートします。
インポートすると、エクスポート前と同じ内容のタスクが新しく作成されます。作成した日付やIDなどは新しく採番されています。
3. タスクをプロジェクトに移動させる
インポートしたタスクはAdminであればそのままでも作業できますが、一般ユーザーが作業できるようにプロジェクトに移動させておきます。
手元のCVATには、エクスポートしたタスクを移動させるためのプロジェクトがないので、まずプロジェクトを作成します。
Projectsをクリックし、Create new projectからプロジェクトを作成します。
ラベルはインポートするタスクに合わせておきます(必ずしも合わせなくても、マッピングすることも可能そうでした)。
次に先ほどインポートしたタスクで、Actions
> Move to project
を押して、タスクを既存のプロジェクトに移動させます。
移動させる前に、どのプロジェクトに移動させるかや、タスクのアノテーションラベルをプロジェクトのラベルにどうマッピングするか選択することができます。
最後に
CVAT間でタスクを受け渡しする方法を確認しました。
異なるCVATで作業している際は、データセットやアノテーションデータをエクスポートしてやりとりするのではなく、タスクごとエクスポートして受け渡しするととても便利そうですね。